An Introduction to the Construction and Verification of Alphard Programs

نویسنده

  • MARY SHAW
چکیده

The programming language Alphard is designed to provide support for both the methodologies of "well-structured" programming and the techniques of formal program verification. Language constructs allow a programmer to isolate an abstraction, specifying its behavior publicly while localizing.knowledge about its implementation. The verification of such an abstraction consists of showing that its implementation behaves in accordance with its public specifications; the abstraction can then be used with confidence in constructing other programs, and the verification of that use employs only the public specifications. This paper introduces Alphard by developing and verifying a data structure definition and a program that uses it. It shows how each language construct contributes to the development of the abstraction and discusses the way the language design and the verification methodology wete tailored to each other. It serves not only as an introduction to Alphard, but also as an example of the symbiosis between verification and methodology in language design. The strategy of program structuring, illustrated for Alphard, is also applicable to most of the "data abstraction" mechanisms now appearing. Index Terns-Abstract data types, abstraction and representation, assertions, correctness, information hiding, levels of abstraction, modular decomposition, program specifications, program verification, programming languages, programming methodology, structured programming.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Introduction of a Reliable Software for the Calculation of the Gamma Index

Introduction: The gamma index is a known parameter for radiotherapy dose verification. Many free and commercial programs have been written for the calculation of this index. However, the verification of the results has been overlooked in many of the programs. The present study tested the validity of three gamma index calculator programs. Material and ...

متن کامل

Abstraction and verification in Alphard : a symbol table example

ION and VERIFICATION in ALPHARD: A Symbol Table Example Ralph L. London, USC Information Sciences Institute Mary Shaw, Carnegie-Mellon University Wm. A. Wulf, Carnegie-Mellon University

متن کامل

Alphard: toward a Language to Support Structured Programs

This report discusses the programming language tools needed to support the expression of 'well-structured' programs. In particular it deals with the tools needed to express abstractions and their realizations; to this end it introduces the concept of a 'form' to subsume the notions of type (mode), macro, procedure, generator, and coercion. An extended example is given together with the sketch o...

متن کامل

Abstraction and verification in Alphard : design and verification of a tree handler

ION and VERIFICATION in ALPHARD: Design and Verification of a Tree Handler M a r y S h a w C o m p u t e r S c i e n c e D e p a r t m e n t C a r n e g i e M e l l o n U n i v e r s i t y P i t t s b u r g h , P a . 1 5 2 1 3

متن کامل

Generating Regular Arithmetic Circuits with AlpHard

The eecient vlsi implementation of arithmetics operators requires that design be optimized, both by looking for eecient algorithms, and by producing compact regular layouts. We present AlpHard, a subset of Alpha { a language for the synthesis of regular algorithms. AlpHard is intended for specifying the Register Transfer Level (RTL) representation of an architecture, in such a way that any regu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009